package com.ftg.learn.util;

/**
 * 通用封装处理类
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/4/4 上午9:02
 */
public class JsonWebUtil {

    /**
     * 成功以后的信息返回
     * @param obj 传递对像
     * @return 交换信息
     * @param <T>  参数
     */
    public static <T>  JsonWeb<T> success(T obj){
        JsonWeb<T> js = new JsonWeb<>();
        js.setCode(TipEnum.SUCCESS_TIP.getCode());
        js.setMsg(TipEnum.SUCCESS_TIP.getMsg());
        js.setData(obj);
        return js;
    }

    /**
     * 通用自定义处理方法
     * @param code  编号
     * @param msg   信息
     * @param data  返回信息
     * @return 交换信息
     * @param <T>  参数
     */
    public static <T>  JsonWeb<T> build(Integer code,String msg,T data){
        JsonWeb<T> js = new JsonWeb<>();
        js.setCode(code);
        js.setMsg(msg);
        js.setData(data);
        return js;
    }

    /**
     * token验证失败信息
     * @return T 交换信息
     * @param <T>  类型
     */
    public static <T> JsonWeb<T> tokenInvalidToken() {
        JsonWeb<T> js = new JsonWeb<>();
        js.setCode(TipEnum.TOKEN_INVALID_TOKEN.getCode());
        js.setMsg(TipEnum.TOKEN_INVALID_TOKEN.getMsg());
        return js;
    }

    /**
     * 登陆方法判断功能
     * @param t1  是否向前台传递参数  data : 数据
     * @return  jsonweb
     * @param <T> 数据类型
     */
    public static <T> JsonWeb<T> accountChecked(T t1){
        JsonWeb<T> js = new JsonWeb<>();
        js.setCode(TipEnum.ACCOUNT_PASSWORD.getCode());
        js.setMsg(TipEnum.ACCOUNT_PASSWORD.getMsg());
        js.setData(t1);
        return js;
    }
}
